package com.eagle.security.dao;

import java.util.List;
import java.util.Map;

import com.eagle.security.entries.UserLog;


public interface UserLogDao {
    /**
     * 新增
     * 
     * @param mo
     * @return
     */
    int saveUserLog(UserLog mo);

    /**
     * 新增，id自增
     * 
     * @param mo
     * @return
     */
    int saveUserLogIncrease(UserLog mo);

    /**
     * 修改
     * 
     * @param mo
     * @return
     */
    int modifyUserLog(UserLog mo);

    /**
     * 删除
     * 
     * @param id
     * @return
     */
    int deleteUserLogById(String id);

    /**
     * find
     * 
     * @param id
     * @return
     */
    UserLog findUserLogById(String id);

    /**
     * find
     * 
     * @param id
     * @return
     */
    Map<String, Object> findUserLogMapById(String id);

    /**
     * 根据条件查找
     * 
     * @param mo
     * @param start
     * @param pageSize
     * @return
     */
    List<UserLog> findUserLogsByCond(UserLog mo, int start, int pageSize);

    /**
     * 根据条件查找
     * 
     * @param mo
     * @param start
     * @param pageSize
     * @return
     */
    List<Map<String, Object>> findUserLogMapsByCond(UserLog mo, int start, int pageSize);

    /**
     * 根据条件查找总数
     * 
     * @param mo
     * @return
     */
    int findUserLogCountByCond(UserLog mo);

    /**
     * 更新时，根据指定字段，检查数据库中是否已有记录(本身除外)
     * 
     * @param mo
     * @return
     */
    int checkExistWhenModifyUserLog(UserLog mo);

    /**
     * 新增时，根据指定字段，检查数据库中是否已有记录
     * 
     * @param mo
     * @return
     */
    int checkExistWhenSaveUserLog(UserLog mo);

}
